package learn_os_package

import (
	"fmt"
	"os"
)

func AboutOsPackage() {
	// 获取当前工作路径的根路径; return (dir string, err error)
	//cwd, _ := os.Getwd()
	//fmt.Println(cwd)

	// 将工作目录修改为 params (dir dir string); return (err error || nil)
	// err := os.Chdir("E:\\vue-next")

	// 修改 name 文件或文件夹的权限（对应linux的chmod命令）
	// Chmod(name string, mode FileMode) error

	// 修改 name文件或文件夹的用户和组（对应linux的 chmod 命令）
	// Chown(name string, uid, gid int) error

	// 使用指定的权限和名称创建一个文件夹（对于 linux 的 mkdir 命令）
	// Mkdir(name string, perm FileMode) error

	// 使用指定的权限和名称创建一个文件夹，并自动创建父级目录（对于 linux 的 mkdir -p 命令）
	// MkdirAll(path string, perm FileMode) error

	// 修改一个文件或文件夹的文字（对应 linux 的 mv 命令）
	// Rename(oldpath string, newpath string) error

	// 删除指定的文件夹或者目录，不能递归删除，只能删除一个空文件夹或一个文件（对应linux的 rm命令）
	// Remove(name string) error

	// 递归删除文件夹或者文件（对应linux的rm -rf命令）
	// RemoveAll(path string) error

	// Getenv(key string) string 得到指定的环境变量
	fmt.Println(os.Getenv("go"))

	// Stat(name string) (fi FileInfo, err error)  输出文件信息
	// fi, _ := os.Stat("./go.mod")

	// 获取命令行参数 os.Args
	// fmt.Println(os.Args[0:])
	// 使用 join 分割数组
	// 分割数组
	// fmt.Println(strings.Join(os.Args[0:], "+++"))

	for _, item := range os.Args {
		fmt.Println(item)
	}
}
